using Assets.Scripts.System;
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

[Serializable]
public enum HealthState
{
    Null,
    Full,
    Hurt,
    Dead,
}
public abstract class HealthControllerBase : MonoBehaviour
{
    [SerializeField]
    protected int health;
    protected float changeValueCache = 0;
    [SerializeField]
    protected HealthState healthState = HealthState.Null;
    public abstract void ChangeMaxHealth(int changeValue);
    public abstract void Hit(float damage);
    public abstract void Recover(float hp);
    public virtual void DestroyForHealthZero() 
    {
        Destroy(gameObject); 
    }
    public abstract void CheckHealthState(int _);
}
